csv_util.o strptime.o grtcirc.o vmem.o util_crc.o xmlgeneric.o \
uuid.o formspec.o xmltag.o cet.o cet_util.o fatal.o rgbcolors.o \
xhtmlent.o inifile.o garmin_fs.o gbsleep.o units.o @GBSER@ gbser.o \
- gbfile.o \
+ gbfile.o parse.o \
$(PALM_DB) $(GARMIN) $(JEEPS) $(SHAPE) @ZLIB@ $(FMTS) $(FILTERS)
OBJS = main.o globals.o $(LIBOBJS) @FILEINFO@
jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h jeeps/gpsmath.h \
jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h \
pdbfile.h
+parse.o: parse.c defs.h config.h queue.h gbtypes.h jeeps/gpsmath.h
pathaway.o: pathaway.c defs.h config.h queue.h gbtypes.h zlib/zlib.h \
zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h csv_util.h strptime.h \
pdbfile.h
void waypt_status_disp(int total_ct, int myct);
double waypt_time(const waypoint *wpt);
double waypt_speed(const waypoint *A, const waypoint *B);
+double waypt_speed_ex(const waypoint *A, const waypoint *B);
+double waypt_course(const waypoint *A, const waypoint *B);
+double waypt_distance(const waypoint *A, const waypoint *B);
+double waypt_distance_ex(const waypoint *A, const waypoint *B);
NORETURN fatal(const char *, ...) PRINTFLIKE(1, 2);
void is_fatal(const int condition, const char *, ...) PRINTFLIKE(2, 3);
grid_lat_lon_dmm = 1,
grid_lat_lon_dms = 2,
grid_bng = 3,
- grid_utm = 4
+ grid_utm = 4,
+ grid_swiss = 5
} grid_type;
#define GRID_INDEX_MIN grid_lat_lon_ddd
-#define GRID_INDEX_MAX grid_utm
+#define GRID_INDEX_MAX grid_swiss
#define DATUM_OSGB36 86
#define DATUM_WGS84 118
+/*
+ * From parse.c
+ */
int parse_coordinates(const char *str, int datum, const grid_type grid,
double *latitude, double *longitude, const char *module);
+int parse_distance(const char *str, double *val, double scale, const char *module);
+int parse_speed(const char *str, double *val, const double scale, const char *module);
/*
* From util_crc.c
{ "dms", "Lat/Lon hddd*mm'ss.s\"", grid_lat_lon_dms },
{ "bng", "British National Grid", grid_bng },
{ "utm", "UTM", grid_utm },
+ { "swiss", "Swiss grid", grid_swiss },
{ NULL, NULL, 0 }
};